package com.tank;

import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class MyPanel extends JPanel{
    //定义我的坦克
    Hero hero=null;
    //初始化坦克
    public MyPanel(){
        hero=new Hero(100,100);
    }

    //设置画笔
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.black);
        g.fillRect(0,0,1000,750);
        //绘制坦克
        drawtank(hero.getX(),hero.getY(),g,1,1);
        drawtank(hero.getX()+100,hero.getY(),g,1,0);

    }

    /**
     *
     * @param x  坦克x坐标
     * @param y 坦克y坐标
     * @param g
     * @param direct 坦克方向
     * @param type 坦克类型
     */
//画坦克
    public void drawtank(int x,int y,Graphics g,int direct,int type){
        //根据坦克型号确定画笔颜色
        switch(type){
            case 0:
                //0表示自己的坦克,用蓝色
                g.setColor(Color.blue);
                break;
            case 1:
                //1表示敌人的坦克,用黄色
                g.setColor(Color.yellow);
                break;
        }
        //根据坦克方向绘制坦克主体
        switch(direct){
            case 1:       //1表示坦克向上
                //坦克左轮
                g.fill3DRect(x,y,10,60,false);
                //坦克右轮
                g.fill3DRect(x+30,y,10,60,false);
                //坦克中部
                g.fill3DRect(x+10,y+10,20,40,false);
                //坦克王八盖
                g.fillOval(x+10,y+20,20,20);
                //坦克炮管
                g.drawLine(x+20,y+30,x+20,y-10);
                break;
            default:
                break;
        }
    }
}
